SFTP 客户端 PRO
SFTPClient 用于通过 SSH 连接访问远程文件系统,基于 SFTP 协议。
它提供目录操作、文件操作、路径解析等能力,并可通过 openFile() 获得更强大的 SFTPFile 对象执行读取、写入等低层操作。
该类实例通常由:
返回。
属性
readonly isActive: boolean
指示当前 SFTP 连接是否仍然有效。
true:连接仍然处于活跃状态false:连接已关闭或发生错误
方法
close(): Promise<void>
关闭当前 SFTP 连接。
返回值:
Promise<void>:关闭成功后 resolve
示例:
readDirectory(atPath: string): Promise<DirectoryEntry[]>
读取指定目录下的文件与子目录。
参数:
atPath:远程目录路径
返回值:
DirectoryEntry[] 数组,结构如下:
示例:
createDirectory(atPath: string): Promise<void>
在指定路径创建一个目录。
参数:
atPath:目标目录路径
返回值:
Promise<void>:创建成功后 resolve
示例:
removeDirectory(atPath: string): Promise<void>
删除一个目录(需为空目录)。
参数:
atPath:要删除的目录路径
返回值:
Promise<void>
示例:
rename(oldPath: string, newPath: string): Promise<void>
重命名或移动文件 / 目录。
参数:
oldPath:原路径newPath:目标路径
返回值:
Promise<void>
示例:
getAttributes(atPath: string): Promise<FileAttributes>
读取文件或目录的信息。
返回值:
示例:
openFile(filePath: string, flags: SFTPOpenFileFlags | SFTPOpenFileFlags[]): Promise<SFTPFile>
以指定模式打开远程文件,返回 SFTPFile 对象进行读写。
参数:
filePath:文件路径flags:打开文件的模式,可为单个 flag 或数组
可用的 flag:
返回值:
Promise<SFTPFile>:一个可读写、可关闭的文件对象
示例:
remove(atPath: string): Promise<void>
删除指定路径的文件。
参数:
atPath:要删除的文件路径
示例:
getRealPath(atPath: string): Promise<string>
解析符号链接、相对路径、~ 等,返回绝对路径。
